/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package action;

import controller.Action;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Consulta;
import model.Funcionario;
import model.Paciente;
import persistence.ConsultaDAO;
import persistence.FuncionarioDAO;
import persistence.PacienteDAO;
import util.Validador;


/**
 *
 * @author aurelio.costa
 */
public class GravarConsultaAction implements Action{

    @Override
    public void execute(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        String nomePaciente = request.getParameter("textNomePaciente");
        String idFuncionario = request.getParameter("funcionario");
        String dtHora = request.getParameter("textDtHora");
        

        
        if(!Validador.validaString(nomePaciente, idFuncionario, dtHora)){            
            response.sendRedirect("index.jsp");
        }else {
            try {
                FuncionarioDAO fDao = FuncionarioDAO.getInstace();
                Funcionario f = fDao.buscaFuncionarioPorNome(Integer.parseInt(idFuncionario));
                PacienteDAO pDao = PacienteDAO.getInstace();
                Paciente p = pDao.buscaPacientePorNome(nomePaciente);
                
                Consulta consulta = new Consulta();
                consulta.setPaciente(p);
                consulta.setFuncionario(f);
                consulta.setDtHora(new Date(dtHora));
                ConsultaDAO.getInstace().save(consulta);               
                response.sendRedirect("sucesso.jsp");
                
            } catch (SQLException e) {
                response.sendRedirect("erro.jsp");
                e.printStackTrace();
            
            } catch (ClassNotFoundException e) {
                response.sendRedirect("contatoErro.jsp");
                e.printStackTrace();
            }
        }
    }
    
}
